home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-27 | 64.7 KB | 1,573 lines |
- --------------------------------------------------------------------------
- AX25.DOC
-
- AX.25 Amateur Packet-Radio Link-Layer Protocol
- Version 2.0 October 1984
-
-
- 2. AX.25 Link-Layer Protocol Specification
-
- 2.1 Scope and Field of Operation
-
- In order to provide a mechanism for the reliable
- transport of data between two signaling terminals, it is
- necessary to define a protocol that can accept and deliver data
- over a variety of types of communications links. The AX.25 Link-
- Layer Protocol is designed to provide this service, independent
- of any other level that may or may not exist.
-
- This protocol conforms to ISO Recommendations 3309, 4335
- (including DAD 1&2) and 6256 high-level data link control (HDLC)
- and uses some terminology found in these documents. It also
- conforms with ANSI X3.66, which describes ADCCP, balanced mode.
-
- This protocol follows, in principle, the CCITT X.25
- Recommendation, with the exception of an extended address field
- and the addition of the Unnumbered Information (UI) frame. It
- also follows the principles of CCITT Recommendation Q.921 (LAPD)
- in the use of multiple links, distinguished by the address field,
- on a single shared channel.
-
- As defined, this protocol will work equally well in
- either half- or full-duplex Amateur Radio environments.
-
- This protocol has been designed to work equally well for
- direct connections between two individual amateur packet-radio
- stations or an individual station and a multiport controller.
-
- This protocol allows for the establishment of more than
- one link-layer connection per device, if the device is so
- capable.
-
- This protocol does not prohibit self-connections. A
- self-connection is considered to be when a device establishes a
- link to itself using its own address for both the source and
- destination of the frame.
-
- Most link-layer protocols assume that one primary (or
- master) device (generally called a DCE, or data circuit-
- terminating equipment) is connected to one or more secondary (or
- slave) device(s) (usually called a DTE, or data terminating
- equipment). This type of unbalanced operation is not practical
- in a shared-RF Amateur Radio environment. Instead, AX.25 assumes
- that both ends of the link are of the same class, thereby
- eliminating the two different classes of devices. The term DXE
- is used in this protocol specification to describe the balanced
- type of device found in amateur packet radio.
-
- 2.2 Frame Structure
-
- Link layer packet radio transmissions are sent in small
- blocks of data, called frames. Each frame is made up of several
- smaller groups, called fields. Fig.1 shows the three basic types
- of frames. Note that the first bit to be transmitted is on the
- left side.
-
-
-
- First
- Bit Sent
-
- Flag Address Control FCS Flag
- 01111110 112/560 Bits 8 Bits 16 Bits 01111110
-
- Fig. 1A -- U and S frame construction
-
-
-
- First
- Bit Sent
-
- Flag Address Control PID Info. FCS Flag
- 01111110 112/560 Bits 8 Bits 8 Bits N*8 Bits 16 Bits 01111110
-
- Fig. 1B -- Information frame construction
-
-
-
- Each field is made up of an integral number of octets (or
- bytes), and serves a specific function as outlined below.
-
- 2.2.1 Flag Field
-
- The flag field is one octet long. Since the flag is used
- to delimit frames, it occurs at both the beginning and end of
- each frame. Two frames may share one flag, which would denote
- the end of the first frame, and the start of the next frame. A
- flag consists of a zero followed by six ones followed by another
- zero, or 01111110 (7E hex). As a result of bit stuffing (see
- 2.2.6, below), this sequence is not allowed to occur anywhere
- else inside a complete frame.
-
- 2.2.2 Address Field
-
- The address field is used to identify both the source of
- the frame and its destination. In addition, the address field
- contains the command/response information and facilities for
- level 2 repeater operation.
-
- The encoding of the address field is described in 2.2.13.
-
- 2.2.3 Control Field
-
- The control field is used to identify the type of frame
- being passed and control several attributes of the level 2
- connection. It is one octet in length, and its encoding is
- discussed in 2.3.2.1, below.
-
- 2.2.4 PID Field
-
- The Protocol Identifier (PID) field shall appear in
- information frames (I and UI) only. It identifies what kind of
- layer 3 protocol, if any, is in use.
-
- The PID itself is not included as part of the octet count
- of the information field. The encoding of the PID is as follows:
-
-
-
- M L
- S S
- B B
- yy01yyyy AX.25 layer 3 implemented.
- yy10yyyy AX.25 layer 3 implemented.
- 11001100 Internet Protocol datagram layer 3 implemented.
- 11001101 Address resolution protocol layer 3 implemented.
- 11110000 No layer 3 implemented.
- 11111111 Escape character. Next octet contains more Level 3
- protocol information.
-
-
-
- Where:
-
- A y indicates all combinations used.
-
- Note:
-
- All forms of yy11yyyy and yy00yyyy other than those
- listed above are reserved at this time for future level 3
- protocols. The assignment of these formats is up to amateur
- agreement. It is recommended that the creators of level 3
- protocols contact the ARRL Ad Hoc Committee on Digital
- Communications for suggested encodings.
-
- 2.2.5 Information Field
-
- The information field is used to convey user data from
- one end of the link to the other. I fields are allowed in only
- three types of frames: the I frame, the UI frame, and the FRMR
- frame. The I field can be up to 256 octets long, and shall
- contain an integral number of octets. These constraints apply
- prior to the insertion of zero bits as specified in 2.2.6, below.
- Any information in the I field shall be passed along the link
- transparently, except for the zero-bit insertion (see 2.2.6)
- necessary to prevent flags from accidentally appearing in the I
- field.
-
- 2.2.6 Bit Stuffing
-
- In order to assure that the flag bit sequence mentioned
- above doesn't appear accidentally anywhere else in a frame, the
- sending station shall monitor the bit sequence for a group of
- five or more contiguous one bits. Any time five contiguous one
- bits are sent the sending station shall insert a zero bit after
- the first one bit. During frame reception, any time five
- contiguous one bits are received, a zero bit immediately
- following five one bits shall be discarded.
-
- 2.2.7 Frame-Check Sequence
-
- The frame-check sequence (FCS) is a sixteen-bit number
- calculated by both the sender and receiver of a frame. It is
- used to insure that the frame was not corrupted by the medium
- used to get the frame from the sender to the receiver. It shall
- be calculated in accordance with ISO 3309 (HDLC) Recommendations.
-
- 2.2.8 Order of Bit Transmission
-
- With the exception of the FCS field, all fields of an
- AX.25 frame shall be sent with each octet's least-significant bit
- first. The FCS shall be sent most-significant bit first.
-
- 2.2.9 Invalid Frames
-
- Any frame consisting of less than 136 bits (including the
- opening and closing flags), not bounded by opening and closing
- flags, or not octet aligned (an integral number of octets), shall
- be considered an invalid frame by the link layer. See also
- 2.4.4.4, below.
-
- 2.2.10 Frame Abort
-
- If a frame must be prematurely aborted, at least fifteen
- contiguous ones shall be sent with no bit stuffing added.
-
- 2.2.11 Interframe Time Fill
-
- Whenever it is necessary for a DXE to keep its
- transmitter on while not actually sending frames, the time
- between frames should be filled with contiguous flags.
-
- 2.2.12 Link Channel States
-
- Not applicable.
-
- 2.2.13 Address-Field Encoding
-
- The address field of all frames shall be encoded with
- both the destination and source amateur call signs for the frame.
- Except for the Secondary Station Identifier (SSID), the address
- field should be made up of upper-case alpha and numeric ASCII
- characters only. If level 2 amateur "repeaters" are to be used,
- their call signs shall also be in the address field.
-
- The HDLC address field is extended beyond one octet by
- assigning the least-significant bit of each octet to be an
- "extension bit". The extension bit of each octet is set to zero,
- to indicate the next octet contains more address information, or
- one, to indicate this is the last octet of the HDLC address
- field. To make room for this extension bit, the amateur Radio
- call sign information is shifted one bit left.
-
- 2.2.13.1 Nonrepeater Address-Field Encoding
-
- If level 2 repeaters are not being used, the address
- field is encoded as shown in Fig. 2. The destination address is
- the call sign and SSID of the amateur radio station to which the
- frame is addressed, while the source address contains the amateur
- call sign and SSID of the station that sent the frame. These
- call signs are the call signs of the two ends of a level 2 AX.25
- link only.
-
-
-
- First
- Octet Sent
-
- Address Field of Frame
- Destination Address Source Address
- A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
-
- Fig. 2 -- Nonrepeater Address-Field Encoding
-
-
-
- A1 through A14 are the fourteen octets that make up the
- two address subfields of the address field. The destination
- subaddress is seven octets long (A1 thru A7), and is sent first.
- This address sequence provides the receivers of frames time to
- check the destination address subfield to see if the frame is
- addressed to them while the rest of the frame is being received.
- The source address subfield is then sent in octets A8 through
- A14. Both of these subfields are encoded in the same manner,
- except that the last octet of the address field has the HDLC
- address extension bit set.
-
- There is an octet at the end of each address subfield
- that contains the Secondary Station Identifier (SSID). The SSID
- subfield allows an Amateur Radio operator to have more than one
- packet-radio station operating under the same call sign. This is
- useful when an amateur wants to put up a repeater in addition to
- a regular station, for example. The C bits (see 2.4.1.2, below)
- and H bit (see 2.2.13.2, below) are also contained in this octet,
- along with two bits which are reserved for future use.
-
- Fig. 3A shows a typical AX.25 frame in the nonrepeater
- mode of operation.
-
-
-
- Octet ASCII Bin.Data Hex Data
-
- Flag 01111110 7E
- A1 K 10010110 96
- A2 8 01110000 70
- A3 M 10011010 9A
- A4 M 10011010 9A
- A5 O 10011110 9E
- A6 space 01000000 40
- A7 SSID 11100000 E0
- A8 W 10101110 AE
- A9 B 10000100 84
- A10 4 01100100 68
- A11 J 10010100 94
- A12 F 10001100 8C
- A13 I 10010010 92
- A14 SSID 01100001 61
- Control I 00111110 3E
- PID none 11110000 F0
- FCS part 1 XXXXXXXX HH
- FCS part 2 XXXXXXXX HH
- Flag 01111110 7E
-
- Bit position 76543210
-
- Fig. 3A -- Nonrepeater AX.25 frame
-
-
-
- The frame shown is an I frame, not going through a level
- 2 repeater, from WB4JFI (SSID=0) to K8MMO (SSID=0), with no level
- 3 protocol. The P/F bit is set; the receive sequence number
- (N(R)) is 1; the send sequence number (N(S)) is 7.
-
- 2.2.13.1.1 Destination Subfield Encoding
-
- Fig. 3 shows how an amateur call sign is placed in the
- destination address subfield, occupying octets A1 thru A7.
-
-
-
- Octet ASCII Bin.Data Hex Data
-
- A1 W 10101110 AE
- A2 B 10000100 84
- A3 4 01101000 68
- A4 J 10010100 94
- A5 F 10001100 8C
- A6 I 10010010 92
- A7 SSID CRRSSID0
-
- Bit Position--> 76543210
-
- Fig. 3 -- Destination Field Encoding
-
-
-
- Where:
-
- 1. The top octet (A1) is the first octet sent, with bit
- 0 of each octet being the first bit sent, and bit 7
- being the last bit sent.
-
- 2. The first (low-order or bit 0) bit of each octet is
- the HDLC address extension bit, which is set to zero
- on all but the last octet in the address field, where
- it is set to one.
-
- 3. The bits marked "r" are reserved bits. They may be
- used in an agreed-upon manner in individual networks.
- When not implemented, they should be set to one.
-
- 4. The bit marked "C" is used as the command/response
- bit of an AX.25 frame, as outlined in 2.4.1.2 below.
-
- 5. The characters of the call sign should be standard
- seven-bit ASCII (upper case only) placed in the
- leftmost seven bits of the octet to make room for the
- address extension bit. If the call sign contains
- fewer than six characters, it should be padded with
- ASCII spaces between the last call sign character and
- the SSID octet.
-
- 6. The 0000 SSID is reserved for the first personal
- AX.25 station. This establishes one standard SSID for
- "normal" stations to use for the first station.
-
- 2.2.13.2 Level 2 Repeater-Address Encoding
-
- If a frame is to go through level 2 amateur packet
- repeater(s), there is an additional address subfield appended to
- the end of the address field. This additional subfield contains
- the call sign(s) of the repeater(s) to be used. This allows more
- than one repeater to share the same RF channel. If this subfield
- exists, the last octet of the source subfield has its address
- extension bit set to zero, indicating that more address-field
- data follows. The repeater-address subfield is encoded in the
- same manner as the destination and source address subfields,
- except for the most-significant bit in the last octet, called the
- "H" bit. The H bit is used to indicate whether a frame has been
- repeated or not.
-
- In order to provide some method of indicating when a
- frame has been repeated, the H bit is set to zero on frames going
- to a repeater. The repeater will set the H bit to one when the
- frame is retransmitted. Stations should monitor the H bit, and
- discard any frames going to the repeater (uplink frames), while
- operating through a repeater. Fig. 4 shows how the repeater-
- address subfield is encoded. Fig. 4A is an example of a complete
- frame after being repeated.
-
-
-
- Octet ASCII Bin.Data Hex Data
-
- A15 W 10101110 AE
- A16 B 10000100 84
- A17 4 01101000 68
- A18 J 10010100 94
- A19 F 10001100 8C
- A20 I 10010010 92
- A21 SSID HRRSSID1
-
- Bit Order --> 76543210
-
- Fig. 4 -- Repeater-address encoding
-
-
-
- Where:
-
- 1. The top octet is the first octet sent, with bit 0 being
- sent first and bit 7 sent last of each octet.
-
- 2. As with the source and destination address subfields
- discussed above, bit 0 of each octet is the HDLC address
- extension bit, which is set to zero on all but the last
- address octet, where it is set to one.
-
- 3. The "R" bits are reserved in the same manner as in the
- source and destination subfields.
-
- 4. The "H" bit is the has-been-repeated bit. It is set to
- zero whenever a frame has not been repeated, and set to
- one by the repeater when the frame has been repeated.
-
-
-
- Octet ASCII Bin.Data Hex Data
-
- Flag 01111110 7E
- A1 K 10010110 96
- A2 8 01110000 70
- A3 M 10011010 9A
- A4 M 10011010 9A
- A5 O 10011110 9E
- A6 space 01000000 40
- A7 SSID 11100000 E0
- A8 W 10101110 AE
- A9 B 10000100 84
- A10 4 01101000 68
- A11 J 10010100 94
- A12 F 10001100 8C
- A13 I 10010010 92
- A14 SSID 01100000 60
- A15 W 10101110 AE
- A16 B 10000100 84
- A17 4 01101000 68
- A18 J 10010100 94
- A19 F 10001100 8C
- A20 I 10010010 92
- A21 SSID 11100011 E3
- Control I 00111110 3F
- PID none 11110000 F0
- FCS part 1 XXXXXXXX HH
- FCS part 2 XXXXXXXX HH
- Flag 01111110 7E
-
- Bit position 76543210
-
- Fig. 4A -- AX.25 frame in repeater mode
-
-
-
- The above frame is the same as Fig. 3A, except for the
- addition of a repeater-address subfield (WB4JFI, SSID=1). The H
- bit is set, indicating this is from the output of the repeater.
-
- 2.2.13.3 Multiple Repeater Operation
-
- The link-layer AX.25 protocol allows operation through
- more than one repeater, creating a primitive frame routing
- mechanism. Up to eight repeaters may be used by extending the
- repeater-address subfield. When there is more than one repeater
- address, the repeater address immediately following the source
- address subfield will be considered the address of the first
- repeater of a multiple-repeater chain. As a frame progresses
- through a chain of repeaters, each successive repeater will set
- the H bit (has-been-repeated bit) in its SSID octet, indicating
- that the frame has been successfully repeated through it. No
- other changes to the frame are made (except for the necessary
- recalculation of the FCS). The destination station can determine
- the route the frame took to each it by examining the address
- field.
-
- The number of repeater addresses is variable. All but
- the last repeater address will have the address extension bits of
- all octets set to zero, as will all but the last octet (SSID
- octet) of the last repeater address. The last octet of the last
- repeater address will have the address extension bit set to one,
- indicating the end of the address field.
-
- It should be noted that various timers (see 2.4.7, below)
- may have to be adjusted to accommodate the additional delays
- encountered when a frame must pass through a multiple-repeater
- chain, and the return acknowledgement must travel through the
- same path before reaching the source device.
-
- It is anticipated that multiple-repeater operation is a
- temporary method of interconnecting stations over large distances
- until such time that a layer 3 protocol is in use. Once this
- layer 3 protocol becomes operational, repeater chaining should be
- phased out.
-
- 2.3 Elements of Procedure
-
- 2.3.1
- The elements of procedure are defined in terms of actions
- that occur on receipt of frames.
-
- 2.3.2 Control-Field Formats and State Variables
-
- 2.3.2.1 Control-Field Formats
-
- The control field is responsible for identifying the type
- of frame being sent, and is also used to convey commands and
- responses from one end of the link to the other in order to
- maintain proper link control.
-
- The control fields used in AX.25 use the CCITT X.25
- control fields for balanced operation (LAPB), with an additional
- control field taken from ADCCP to allow connectionless and round-
- table operation.
-
- There are three general types of AX.25 frames. They are
- the Information frame (I frame), the Supervisory frame (S frame),
- and the Unnumbered frame (U frame). Fig. 5 shows the basic
- format of the control field associated with these types of
- frames.
-
-
-
- Control-Field Control-Field Bits
- Type 7 6 5 4 3 2 1 0
-
- I Frame N(R) P N(S) 0
- S Frame N(R) P/F S S 0 1
- U Frame M M M P/F M M 1 1
-
- Fig. 5 -- Control-field formats
-
-
-
- Where:
-
- 1. Bit 0 is the first bit sent and bit 7 is the last bit
- sent of the control field.
-
- 2. N(S) is the send sequence number (bit 1 is the LSB).
-
- 3. N(R) is the receive sequence number (bit 5 is the
- LSB).
-
- 4. The "S" bits are the supervisory function bits, and
- their encoding is discussed in 2.3.4.2.
-
- 5. The "M" bits are the unnumbered frame modifier bits
- and their encoding is discussed in 2.3.4.3.
-
- 6. The P/F bit is the Poll/Final bit. Its function is
- described in 2.3.3. The distinction between command
- and response, and therefore the distinction between P
- bit and F bit, is made by addressing rules discussed
- in 2.4.1.2.
-
- 2.3.2.1.1 Information-Transfer Format
-
- All I frames have bit 0 of the control field set to zero.
- N(S) is the sender's send sequence number (the send sequence
- number of this frame). N(R) is the sender's receive sequence
- number (the sequence number of the next expected received frame).
- These numbers are described in 2.3.2.4. In addition, the P/F bit
- is to be used as described in 2.4.2.
-
-
- 2.3.2.1.2 Supervisory Format
-
- Supervisory frames are denoted by having bit 0 of the
- control field set to one, and bit 1 of the control field set to
- zero. S frames provide supervisory link control such as
- acknowledging or requesting retransmission of I frames, and link-
- level window control. Since S frames do not have an information
- field, the sender's send variable and the receiver's receive
- variable are not incremented for S frames. In addition, the P/F
- bit is used as described in 2.4.2.
-
- 2.3.2.1.3 Unnumbered Format
-
- Unnumbered frames are distinguished by having both bits 0
- and 1 of the control field set to one. U frames are responsible
- for maintaining additional control over the link beyond what is
- accomplished with S frames. They are also responsible for
- establishing and terminating link connections. U frames also
- allow for the transmission and reception of information outside
- of the normal flow control. Some U frames may contain
- information and PID fields. The P/F bit is used as described in
- 2.4.2.
-
- 2.3.2.2 Control-Field Parameters
-
- 2.3.2.3 Sequence Numbers
-
- Every AX.25 I frame shall be assigned, modulo 8, a
- sequential number from 0 to 7. This will allow up to seven
- outstanding I frames per level 2 connection at a time.
-
- 2.3.2.4 Frame Variables and Sequence Numbers
-
- 2.3.2.4.1 Send State Variable V(S)
-
- The send state variable is a variable that is internal to
- the DXE and is never sent. It contains the next sequential
- number to be assigned to the next transmitted I frame. This
- variable is updated upon the transmission of each I frame.
-
- 2.3.2.4.2 Send Sequence Number N(S)
-
- The send sequence number is found in the control field of
- all I frames. It contains the sequence number of the I frame
- being sent. Just prior to the transmission of the I frame, N(S)
- is updated to equal the send state variable.
-
-
- 2.3.2.4.3 Receive State Variable V(R)
-
- The receive state variable is a variable that is internal
- to the DXE. It contains the sequence number of the next expected
- received I frame. This variable is updated upon the reception of
- an error-free I frame whose send sequence number equals the
- present received state variable value.
-
- 2.3.2.4.4 Received Sequence Number N(R)
-
- The received sequence number is in both I and S frames.
- Prior to sending an I or S frame, this variable is updated to
- equal that of the received state variable, thus implicitly
- acknowledging the proper reception of all frames up to and
- including N(R)-1.
-
- 2.3.3 Functions of Poll/Final (P/F) Bit
-
- The P/F bit is used in all types of frames. It is used
- in a command (poll) mode to request an immediate reply to a
- frame. The reply to this poll is indicated by setting the
- response (final) bit in the appropriate frame. Only one
- outstanding poll condition per direction is allowed at a time.
- The procedure for P/F bit operation is described in 2.4.2.
-
- 2.3.4 Control Field Coding for Commands and Responses
-
- The following commands and responses, indicated by their
- control field encoding, are to be use by the DXE:
-
- 2.3.4.1 Information Command Frame Control Field
-
- The function of the information (I) command is to
- transfer across a data link sequentially numbered frames
- containing an information field.
-
- The information-frame control field is encoded as shown
- in Fig. 6. These frames are sequentially numbered by the N(S)
- subfield to maintain control of their passage over the link-layer
- connection.
-
-
-
- Control Field Bits
- 7 6 5 4 3 2 1 0
- N(R) P N(S) 0
-
- Fig. 6 -- I frame control field
-
-
-
- 2.3.4.2 Supervisory Frame Control Field
-
- The supervisory frame control fields are encoded as shown
- in Fig. 7.
-
-
-
- Control Field Bits 7 6 5 4 3 2 1 0
- Receive Ready RR N(R) P/F 0 0 0 1
- Receive Not Ready RNR N(R) P/F 0 1 0 1
- Reject REJ N(R) P/F 1 0 0 1
-
- Fig. 7 -- S frame control fields
-
-
- The Frame identifiers:
-
- C or SABM Layer 2 Connect Request
- D or DISC Layer 2 Disconnect Request
- I Information Frame
- RR Receive Ready. System Ready To Receive
- RNR or NR Receive Not Ready. TNC Buffer Full
- RJ or REJ Reject Frame. Out of Sequence or Duplicate
- FRMR Frame Reject. Fatal Error
- UI Unnumbered Information Frame. "Unproto"
- DM Disconnect Mode. System Busy or Disconnected.
-
-
- 2.3.4.2.1 Receive Ready (RR) Command and Response
-
- Receive Ready is used to do the following:
-
- 1. to indicate that the sender of the RR is now able to
- receive more I frames.
-
- 2. to acknowledge properly received I frames up to, and
- including N(R)-1, and
-
- 3. to clear a previously set busy condition created by an RNR
- command having been sent.
-
- The status of the DXE at the other end of the link can be
- requested by sending a RR command frame with the P-bit set to
- one.
-
- 2.3.4.2.2 Receive Not Ready (RNR) Command and Response
-
- Receive Not Ready is used to indicate to the sender of I
- frames that the receiving DXE is temporarily busy and cannot
- accept any more I frames. Frames up to N(R)-1 are acknowledged.
- Any I frames numbered N(R) and higher that might have been caught
- between states and not acknowledged when the RNR command was sent
- are not acknowledged.
-
- The RNR condition can be cleared by the sending of a UA,
- RR, REJ, or SABM frame.
-
- The status of the DXE at the other end of the link can be
- requested by sending a RNR command frame with the P bit set to
- one.
-
- 2.3.4.2.3 Reject (REJ) Command and Response
-
- The reject frame is used to request retransmission of I
- frames starting with N(R). Any frames that were sent with a
- sequence number of N(R)-1 or less are acknowledged. Additional I
- frames may be appended to the retransmission of the N(R) frame if
- there are any.
-
- Only one reject frame condition is allowed in each
- direction at a time. The reject condition is cleared by the
- proper reception of I frames up to the I frame that caused the
- reject condition to be initiated.
-
- The status of the DXE at the other end of the link can be
- requested by sending a REJ command frame with the P bit set to
- one.
-
- 2.3.4.3 Unnumbered Frame Control Fields
-
- Unnumbered frame control fields are either commands or
- responses.
-
- Fig. 8 shows the layout of U frames implemented within
- this protocol.
-
-
-
- Control Field Type Control Field Bits
- 7 6 5 4 3 2 1 0
-
- Set Asynchronous Balanced Mode-SABM Cmd 0 0 1 P 1 1 1 1
- Disconnect-DISC Cmd 0 1 0 P 0 0 1 1
- Disconnected Mode-DM Res 0 0 0 F 1 1 1 1
- Unnumbered Acknowledge-UA Res 0 1 1 F 0 0 1 1
- Frame Reject-FRMR Res 1 0 0 F 0 1 1 1
- Unnumbered Information-UI Either 0 0 0 P/F 0 0 1 1
-
- Fig. 8 -- U frame control fields
-
-
-
- 2.3.4.3.1 Set Asynchronous Balanced Mode (SABM) Command
-
- The SABM command is used to place 2 DXEs in the
- asynchronous balanced mode. This is a balanced mode of operation
- known as LAPB where both devices are treated as equals.
-
- Information fields are not allowed in SABM commands. Any
- outstanding I frames left when the SABM command is issued will
- remain unacknowledged.
-
- The DXE confirms reception and acceptance of a SABM
- command by sending a UA response frame at the earliest
- opportunity. If the DXE is not capable of accepting a SABM
- command, it should respond with a DM frame if possible.
-
- 2.3.4.3.2 Disconnect (DISC) Command
-
- The DISC command is used to terminate a link session
- between two stations. No information field is permitted in a
- DISC command frame.
-
- Prior to acting on the DISC frame, the receiving DXE
- confirms acceptance of the DISC by issuing a UA response frame at
- its earliest opportunity. The DXE sending the DISC enters the
- disconnected state when it receives the UA response.
-
- Any unacknowledged I frames left when this command is
- acted upon will remain unacknowledged.
-
- 2.3.4.3.3 Frame Reject (FRMR) Response
-
- 2.3.4.3.3.1
- The FRMR response frame is sent to report that the receiver
- of a frame cannot successfully process that frame and that the
- error condition is not correctable by sending the offending frame
- again. Typically this condition will appear when a frame without
- an FCS error has been received with one of the following
- conditions:
-
- 1. The reception of an invalid or not implemented command or
- response frame.
-
- 2. The reception of an I frame whose information field exceeds
- the agreed-upon length. (See 2.4.7.3, below.)
-
- 3. The reception of an improper N(R). This usually happens
- when the N(R) frame has already been sent and acknowledged,
- or when N(R) is out of sequence with what was expected.
-
- 4. The reception of a frame with an information field where one
- is not allowed, or the reception of a U or S frame whose
- length is incorrect. Bits W and Y described in 2.3.4.3.3.2
- should both be set to one to indicate this condition.
-
- 5. The reception of a supervisory frame with the F bit set
- to one, except during a timer recovery condition (see
- 2.4.4.9), or except as a reply to a command frame sent with
- the P bit set to one. Bit W (described in 2.3.4.3.3.2)
- should be set to one.
-
- 6. The reception of an unexpected UA or DM response frame. Bit
- W should be set to one.
-
- 7. The reception of a frame with an invalid N(S). Bit W should be
- set to one.
-
- An invalid N(R) is defined as one which points to an I
- frame that previously has been transmitted and acknowledged, or
- an I frame which has not been transmitted and is not the next
- sequential I frame pending transmission.
-
- An invalid N(S) is defined as an N(S) that is equal to
- the last transmitted N(R)+k and is equal to the received state
- variable V(R), where k is the maximum number of outstanding
- information frames as defined in 2.4.7.4 below.
-
- An invalid or not implemented command or response is
- defined as a frame with a control field that is unknown to the
- receiver of this frame.
-
- 2.3.4.3.3.2
- When a FRMR frame is sent, an information field is added to
- the frame that contains additional information indicating where
- the problem occurred. This information field is three octets
- long and is shown in Fig. 9.
-
-
-
- Information Field Bits
- 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- 0 0 0 0 Z Y X W V(R) C V(S) 0 Rejected Frame
- R Control Field
-
- Fig. 9 -- FRMR frame information field
-
-
-
- Where:
-
- 1. The rejected frame control field carries the control field
- of the frame that caused the reject condition. It is in
- bits 0-7 of the information field.
-
- 2. V(S) is the current send state variable of the device
- reporting the rejection (bit 9 is the low bit).
-
- 3. The CR bit is set to zero to indicate the rejected frame
- was a command, or one if it was a response.
-
- 4. V(R) is the current receive state variable of the device
- reporting rejection (bit 13 is the low bit).
-
- 5. If W is set to 1, the control field received was invalid or
- not implemented.
-
- 6. If X is set to 1, the frame that caused the reject
- condition was considered invalid because it was a U or S
- frame that had an information field that is not allowed.
- Bit W must be set to 1 in addition to the X bit.
-
- 7. If Y is set to 1, the control field received and returned
- in bits exceeded the maximum allowed under this
- recommendation in 2.4.7.3, below.
-
- 8. If A is set to 1, the control field received and returned
- in bits 1 to 8 contained an invalid N(R).
-
- 9. Bits 8, and 20 to 23 are set to 0.
-
-
- 2.3.4.3.4 Unnumbered Acknowledge (UA) Response
-
- The UA response frame is sent to acknowledge the
- reception and acceptance of a SABM or DISC command frame. A
- received command is not actually processed until the UA response
- frame is sent. Information fields are not permitted in a UA
- frame.
-
- 2.3.4.3.5 Disconnected Mode (DM) Response
-
- The disconnected mode response is sent whenever a DXE
- receives a frame other than a SABM or UI frame while in a
- disconnected mode. It is also sent to request a set mode
- command, or to indicate it cannot accept a connection at the
- moment. The DM response does not have an information field.
-
- Whenever a SABM frame is a received, and it is determined
- that a connection is not possible, a DM frame shall be sent.
- This will indicate that the called station cannot accept a
- connection at that time.
-
- While a DXE is in the disconnected mode, it will respond
- to any command other than a SABM or UI frame with a DM response
- with the P/F bit set to 1.
-
- 2.3.4.3.6 Unnumbered Information (UI) Frame
-
- The Unnumbered Information frame contains PID and
- information fields and is used to pass information along the link
- outside the normal information controls. This allows information
- fields to go back and forth on the link bypassing flow control.
- Since these frames are not acknowledgeable, if one gets
- obliterated, there is no way to recover it. A received UI frame
- with the P bit set shall cause a response to be transmitted.
- This response shall be a DM frame when in the disconnected state
- or a RR (or RNR, if appropriate) frame in the information
- transfer state.
-
- 2.3.5 Link Error Reporting and Recovery
-
- There are several link-layer errors that are recoverable
- without terminating the connection. These error situations may
- occur as a result of malfunctions within the DXE, or if
- transmission errors occur.
-
- 2.3.5.1 DXE Busy Condition
-
- When a DXE becomes temporarily unable to receive I
- frames, such as when receive buffers are full, it will send a
- Receive Not Ready (RNR) frame. This informs the other DXE that
- this DXE cannot handle any more I frames at the moment. This
- condition is usually cleared by the sending of a UA, RR, REJ, or
- SABM command frame.
-
- 2.3.5.2 Send Sequence Number Error
-
- If the send sequence number, N(S), of an otherwise error-
- free received frame does not match the receive state variable,
- V(R), a send sequence error has occurred, and the information
- field will be discarded. The receiver will not acknowledge this
- frame, or any other I frames, until N(S) matches V(R).
-
- The control field of the erroneous I frame(s) will be
- accepted so that link supervisory functions such as checking the
- P/F bit can still be performed. Because of this updating, the
- retransmitted I frame may have an updated P bit and N(R).
-
- 2.3.5.3 Reject (REJ) Recovery
-
- REJ is used to request a retransmission of I frames
- following the detection of a N(S) sequence error. Only one
- outstanding "sent REJ" condition is allowed at a time. This
- condition is cleared when the requested I frame has been
- received.
-
- A DXE receiving the REJ command will clear the condition
- by resending all outstanding I frames (up to the window size),
- starting with the one indicated in N(R) of the REJ frame.
-
- 2.3.5.4 Time-out Error Recovery
-
- 2.3.5.4.1 T1 Timer Recovery
-
- If a DXE, due to a transmission error, does not receive
- (or receives and discards) a single I frame or the last I frame
- in a sequence of I frames, it will not detect a send-sequence-
- number error, and therefore will not transmit a REJ. The DXE
- which transmitted the unacknowledged I frame(s) shall, following
- the completion of time-out period T1, take appropriate recovery
- action to determine when I frame retransmission should begin as
- described in 2.4.4.9, below. This condition is cleared by the
- reception of an acknowledgement for the sent frame(s), or by the
- link being reset. See 2.4.6.
-
- 2.3.5.4.2 Timer T3 Recovery
-
- Timer T3 is used to assure the link is still functional
- during periods of low information transfer. Whenever T1 is not
- running (no outstanding I frames), T3 is used to periodically
- poll the other DXE of a link. When T3 times out, a RR or RNR
- frame is transmitted as a command and with the P bit set. The
- waiting acknowledgement procedure (2.4.4.9, below) is then
- executed.
-
- 2.3.5.5 Invalid Frame or FCS Error
-
- If an invalid frame is received, or a frame is received
- with an FCS error, that frame will be discarded with no action
- taken.
-
- 2.3.5.6 Frame Rejection Condition
-
- A frame rejection condition occurs when an otherwise
- error-free frame has been received with one of the conditions
- listed in 2.3.4.3.3 above.
-
- Once a rejection error occurs, no more I frames are
- accepted (except for the examination of the P/F bit) until the
- error is resolved. The error condition is reported to the other
- DXE by sending a FRMR response frame. See 2.4.5.
-
- 2.4 Description of AX.25 Procedures
-
- The following describes the procedures used to setup,
- use, and disconnect a balanced link between two DXE stations.
-
- 2.4.1 Address Field Operation
-
- 2.4.1.1 Address Information
-
- All transmitted frames shall have address fields
- conforming to 2.2.13, above. All frames shall have both the
- destination device and the source device addresses in the address
- field, with the destination address coming first. This allows
- many links to share the same RF channel. The destination address
- is always the address of the station(s) to receive the frame,
- while the source address contains the address of the device that
- sent the frame.
-
- The destination address can be a group name or club call
- sign if the point-to-multipoint operation is allowed. Operation
- with destination addresses other than actual amateur call signs
- is a subject for further study.
-
- 2.4.1.2 Command/Response Procedure
-
- AX.25 Version 2.0 has implemented the command/response
- information in the address field. In order to maintain
- compatibility with previous versions of AX.25, the
- command/response information is conveyed using two bits.
-
- An upward-compatible AX.25 DXE can determine whether it
- is communicating with a DXE using an older version of this
- protocol by testing the command/response bit information located
- in bit 7 of the SSID octets of both the destination and source
- address subfields. If both C bits are set to zero, the device is
- using the older protocol. The newer version of the protocol
- always has one of these two bits set to one and the other set to
- zero, depending on whether the frame is a command or a response.
-
- The command/response information is encoded into the
- address field as shown in Fig. 10.
-
-
-
- Frame Type Dest. SSID C-Bit Source SSID C-Bit
-
- Previous versions 0 0
- Command (V.2.0) 1 0
- Response (V.2.0) 0 1
- Previous versions 1 1
-
- Fig. 10 -- Command/Response encoding
-
-
-
- Since all frames are considered either commands or
- responses, a device shall always have one of the bits set to one,
- and the other bit set to zero.
-
- The use of the command/response information in AX.25
- allows S frames to be either commands or responses. This aids
- maintenance of proper control over the link during the
- information transfer state.
-
- 2.4.2 P/F Bit Procedures
-
- The next response frame returned by the DXE to a SABM or
- DISC command with the P bit set to 1 will be a UA or DM response
- with the F bit set to 1.
-
- The next response frame returned to an I frame with the P
- bit set to 1, received during the information transfer state,
- will be a RR, RNR, or REJ response with the F bit set to 1.
-
- The next response frame returned to a supervisory command
- frame with the P bit set to 1, received during the information
- transfer state, will be a RR, RNR, or REJ response frame with the
- F bit set to 1.
-
- The next response frame returned to a S or I command
- frame with the P bit set to 1, received in the disconnected
- state, will be a DM response frame with the F bit set to 1.
-
- The P bit is used in conjunction with the time-out
- recovery condition discussed in 2.3.5.4, above.
-
- When not used, the P/F bit is set to zero.
-
- 2.4.3 Procedures For Link Set-Up and Disconnection
-
- 2.4.3.1 LAPB Link Connection Establishment
-
- When one DXE wishes to connect to another DXE, it will
- send a SABM command frame to that device and start timer (T1).
- If the other DXE is there and able to connect, it will respond
- with a UA response frame, and reset both of its internal state
- variables (V(S) and V(R)). The reception of the UA response
- frame at the other end will cause the DXE requesting the
- connection to cancel the T1 timer and set its internal state
- variables to 0.
-
- If the other DXE doesn't respond before T1 times out, the
- device requesting the connection will re-send the SABM frame, and
- start T1 running again. The DXE should continue to try to
- establish a connection until it has tried unsuccessfully N2
- times. N2 is defined in 2.4.7.2, below.
-
- If, upon reception of a SABM command, the DXE decides
- that it cannot enter the indicated state, it should send a DM
- frame.
-
- When receiving a DM response, the DXE sending the SABM
- should cancel its T1 timer, and not enter the information-
- transfer state.
-
- The DXE sending a SABM command will ignore and discard
- any frames except SABM, DISC, UA, and DM frames from the other
- DXE.
-
- Frames other than UA and DM in response to a received
- SABM will be sent only after the link is set up and if no
- outstanding SABM exists.
-
- 2.4.3.2 Information-Transfer Phase
-
- After establishing a link connection, the DXE will enter
- the information-transfer state. In this state, the DXE will
- accept and transmit I and S frames according to the procedure
- outlined in 2.4.4, below.
-
- When receiving a SABM command while in the information-
- transfer state, the DXE will follow the resetting procedure
- outlined in 2.4.6 below.
-
- 2.4.3.3 Link Disconnection
-
- 2.4.3.3.1
- While in the information-transfer state, either DXE may
- indicate a request to disconnect the link by transmitting a DISC
- command frame and starting timer T1 (see 2.4.7).
-
- 2.4.3.3.2
- A DXE, upon receiving a valid DISC command, shall send a UA
- response frame and enter the disconnected state. A DXE, upon
- receiving a UA or DM response to a sent DISC command, shall
- cancel timer T1, and enter the disconnected state.
-
- 2.4.3.3.3
- If a UA or DM response is not correctly received before T1
- times out, the DISC frame should be sent again and T1 restarted.
- If this happens N2 times, the DXE should enter the disconnected
- state.
-
- 2.4.3.4 Disconnected State
-
- 2.4.3.4.1
- A DXE in the disconnected state shall monitor received
- commands and react upon the reception of a SABM as described in
- 2.4.3.1 above and will transmit a DM frame in response to a DISC
- command.
-
- 2.4.3.4.2
- In the disconnected state, a DXE may initiate a link set-up
- as outlined in connection establishment above (2.4.3.1). It may
- also respond to the reception of a SABM and establish a
- connection, or it may ignore the SABM and send a DM instead.
-
- 2.4.3.4.3
- Any DXE receiving a command frame other than a SABM or UI
- frame with the P bit set to one should respond with a DM frame
- with the F bit set to one. The offending frame should be
- ignored.
-
- 2.4.3.4.4
- When the DXE enters the disconnected state after an error
- condition or if an internal error has resulted in the DXE being
- in the disconnected state, the DXE should indicate this by
- sending a DM response rather than a DISC frame and follow the
- link disconnection procedure outlined in 2.4.3.3.3, above. The
- DXE may then try to re-establish the link using the link set-up
- procedure outlined in 2.4.3.1, above.
-
- 2.4.3.5 Collision Recovery
-
- 2.4.3.5.1 Collisions in a Half-Duplex Environment
-
- Collisions of frames in a half-duplex environment are
- taken care of by the retry nature of the T1 timer and
- retransmission count variable. No other special action needs to
- be taken.
-
- 2.4.3.5.2 Collisions of Unnumbered Commands
-
- If sent and received SABM or DISC command frames are the
- same, both DXEs should send a UA response at the earliest
- opportunity, and both devices should enter the indicated state.
-
- If sent and received SABM or DISC commands are different,
- both DXEs should enter the disconnected state and transmit a DM
- frame at the earliest opportunity.
-
- 2.4.3.5.3 Collision of a DM with a SABM or DISC
-
- When an unsolicited DM response frame is sent, a
- collision between it and a SABM or DISC may occur. In order to
- prevent this DM from being misinterpreted, all unsolicited DM
- frames should be transmitted with the F bit set to zero. All
- SABM and DISC frames should be sent with the P bit set to one.
- This will prevent any confusion when a DM frame is received.
-
- 2.4.3.6 Connectionless Operation
-
- In Amateur Radio, there is an additional type of
- operation that is not feasible using level 2 connections. This
- operation is the round table, where several amateurs may be
- engaged in one conversation. This type of operation cannot be
- accommodated by AX.25 link-layer connections.
-
- The way round-table activity is implemented is
- technically outside the AX.25 connection, but still using the
- AX.25 frame structure.
-
- AX.25 uses a special frame for this operation, called the
- Unnumbered Information (UI) frame. When this type of operation
- is used, the destination address should have a code word
- installed in it to prevent the users of that particular round
- table from seeing all frames going through the shared RF medium.
- An example of this is if a group of amateurs are in a round-table
- discussion about packet radio, they could put PACKET in the
- destination address, so they would receive frames only from
- others in the same discussion. An added advantage of the use of
- AX.25 in this manner is that the source of each frame is in the
- source address subfield, so software could be written to
- automatically display who is making what comments.
-
- Since this mode is connectionless, there will be no
- requests for retransmissions of bad frames. Collisions will also
- occur, with the potential of losing the frames that collided.
-
- 2.4.4 Procedures for Information Transfer
-
- Once a connection has been established, as outlined
- above, both devices are able to accept I, S, and U frames.
-
- 2.4.4.1 Sending I Frames
-
- Whenever a DXE has an I frame to transmit, it will send
- the I frame with N(S) of the control field equal to its current
- send state variable V(S). Once the I frame is sent, the send
- state variable is incremented by one. If timer T1 is not
- running, it should be started. If timer T1 is running, it should
- be restarted.
-
- The DXE should not transmit any more I frames if its send
- state variable equals the last received N(R) from the other side
- of the link plus seven. If it were to send more I frames, the
- flow control window would be exceed, and errors could result.
-
- If a DXE is in a busy condition, it may still send I
- frames as long as the other device is not also busy.
-
- If a DXE is in the frame-rejection mode, it will stop
- sending I frames.
-
- 2.4.4.2 Receiving I Frames
-
- 2.4.4.2.1
- If a DXE receives a valid I frame (one with a correct FCS
- and whose send sequence number equals the receiver's receive
- state variable) and is not in the busy condition, it will accept
- the received I frame, increment its receive state variable, and
- act in one of the following manners:
-
- 1. If it has an I frame to send, that I frame may be sent with the
- transmitted N(R) equal to its receive state variable V(R) (thus
- acknowledging the received frame). Alternately, the device may
- send a RR frame with N(R) equal to V(R), and then send the I
- frame.
-
- 2. If there are no outstanding I frames, the receiving device will
- send a RR frame with N(R) equal to V(R). The receiving DXE may
- wait a small period of time before sending the RR frame to be sure
- additional I frames are not being transmitted.
-
- 2.4.4.2.2
- If the DXE is in a busy condition, it may ignore any
- received I frames without reporting this condition other than
- repeating the indication of the busy condition.
-
- If a busy condition exists, the DXE receiving the busy
- condition indication should poll the sender of the busy
- indication periodically until the busy condition disappears.
-
- A DXE may poll the busy DXE periodically with RR or RNR
- frames with the P bit set to one.
-
- The reception of I frames that contain zero-length
- information fields shall be reported to the next level but no
- information field will be transferred.
-
- 2.4.4.3 Reception of Out of Sequence Frames
-
- When an I frame is received with a correct FCS, but its
- send sequence number, N(S), does not match the current receiver's
- receive state variable, the frame should be discarded. A REJ
- frame shall be sent with a receive sequence number equal to one
- higher (modulo 8) than the last correctly received I frame if an
- uncleared N(S) sequence error condition has not been previously
- established. The received state variable and poll bit of the
- discarded frame should be checked and acted upon, if necessary,
- before discarding the frame.
-
- 2.4.4.4 Reception of Incorrect Frames
-
- When a DXE receives a frame with an incorrect FCS, an
- invalid frame, or a frame with an improper address, that frame
- shall be discarded.
-
- 2.4.4.5 Receiving Acknowledgement
-
- Whenever an I or S frame is correctly received, even in a
- busy condition, the N(R) of the received frame should be checked
- to see if it includes an acknowledgement of outstanding sent I
- frames. The T1 timer should be cancelled if the received frame
- actually acknowledges previously unacknowledged frames. If the
- T1 timer is cancelled and there are still some frames that have
- been sent that are not acknowledged, T1 should be started again.
- If the T1 timer runs out before an acknowledgement is received,
- the device should proceed to the retransmission procedure in
- 2.4.4.9.
-
- 2.4.4.6 Receiving Reject
-
- Upon receiving a REJ frame, the transmitting DXE will set
- its send state variable to the same value as the REJ frame's
- received sequence number in the control field. The DXE will then
- retransmit any I frame(s) outstanding at the next available
- opportunity conforming to the following:
-
- 1. If the DXE is not transmitting at the time, and the channel
- is open, the device may commence to retransmit the I
- frame(s) immediately.
-
- 2. If the DXE is operating on a full-duplex channel
- transmitting a UI or S frame when it receives a REJ frame,
- it may finish sending the UI or S frame and then retransmit
- the I frame(s).
-
- 3. If the DXE is operating in a full-duplex channel
- transmitting another I frame when it receives a REJ frame,
- it may abort the I frame it was sending and start
- retransmission of the requested I frames immediately.
-
- 4. The DXE may send just the one I frame outstanding, or it may
- send more than the one indicated if more I frames followed
- the first one not acknowledged, provided the total to be
- sent does not exceed the flow-control window (7 frames).
-
- If the DXE receives a REJ frame with the poll bit set, it
- should respond with either a RR or RNR frame with the final bit
- set before retransmitting the outstanding I frame(s).
-
- 2.4.4.7 Receiving a RNR Frame
-
- Whenever a DXE receives a RNR frame, it shall stop
- transmission of I frames until the busy condition has been
- cleared. If timer T1 runs out after the RNR was received, the
- waiting acknowledgement procedure listed in 2.4.4.9, below,
- should be performed. The poll bit may be used in conjunction
- with S frames to test for a change in the condition of the
- busied-out DXE.
-
- 2.4.4.8 Sending a Busy Indication
-
- Whenever a DXE enters a busy condition, it will indicate
- this by sending a RNR response at the next opportunity. While
- the DXE is in the busy condition, it may receive and process S
- frames, and if a received S frame has the P bit set to one, the
- DXE should send a RNR frame with the F bit set to one at the next
- possible opportunity. To clear the busy condition, the DXE
- should send either a RR or REJ frame with the received sequence
- number equal to the current receive state variable, depending on
- whether the last received I frame was properly received or not.
-
- 2.4.4.9 Waiting Acknowledgement
-
- If timer T1 runs out waiting the acknowledgement from the
- other DXE for an I frame transmitted, the DXE will restart timer
- T1 and transmit an appropriate supervisory command frame (RR or
- RNR) with the P bit set. If the DXE receives correctly a
- supervisory response frame with the F bit set and with an N(R)
- within the range from the last N(R) received to the last N(S)
- sent plus one, the DXE will restart timer T1 and will set its
- send state variable V(S) to the received N(R). It may then
- resume with I frame transmission or retransmission, as
- appropriate. If, on the other hand, the DXE receives correctly a
- supervisory response frame with the F bit not set, or an I frame
- or supervisory command frame, and with an N(R) within the range
- from the last N(R) received to the last N(S) sent plus one, the
- DXE will not restart timer T1, but will use the received N(R) as
- an indication of acknowledgement of transmitted I frames up to
- and including I frame numbered N(R)-1.
-
- If timer T1 runs out before a supervisory response frame
- with the F bit set is received, the DXE will retransmit an
- appropriate supervisory command frame (RR or RNR) with the P bit
- set. After N2 attempts to get a supervisory response frame with
- the F bit set from the other DXE, the DXE will initiate a link
- resetting procedure as described in 2.4.6, below.
-
- 2.4.5 Frame Rejection Conditions
-
- A DXE shall initiate the frame-reset procedure when a
- frame is received with the correct FCS and address field during
- the information-transfer state with one or more of the conditions
- in 2.3.4.3.3, above.
-
- Under these conditions, the DXE will ask the other DXE to
- reset the link by transmitting a FRMR response as outlined in
- 2.4.6.3, below.
-
- After sending the FRMR frame, the sending DXE will enter
- the frame reject condition. This condition is cleared when the
- DXE that sent the FRMR frame receives a SABM or DISC command, or
- a DM response frame. Any other command received while the DXE is
- in the frame reject state will cause another FRMR to be sent out
- with the same information field as originally sent.
-
- In the frame rejection condition, additional I frames
- will not be transmitted, and received I frames and S frames will
- be discarded by the DXE.
-
- The DXE that sent the FRMR frame shall start the T1 timer
- when the FRMR is sent. If no SABM or DISC frame is received
- before the timer runs out, the FRMR frame shall be retransmitted,
- and the T1 timer restarted as described in the waiting
- acknowledgement section (2.4.4.9) above. If the FRMR is sent N2
- times without success, the link shall be reset.
-
- 2.4.6 Resetting Procedure
-
- 2.4.6.1
- The resetting procedure is used to initialize both
- directions of data flow after a nonrecoverable error has
- occurred. This resetting procedure is used in the information-
- transfer state of an AX.25 link only.
-
- 2.4.6.2
- A DXE shall initiate a reset procedure whenever it receives
- an unexpected UA response frame or an unsolicited response frame
- with the F bit set to one. A DXE may also initiate the reset
- procedure upon receipt of a FRMR frame. Alternatively, the DXE
- may respond to a FRMR by terminating the connection with a DISC
- frame.
-
- 2.4.6.3
- A DXE shall reset the link by sending a SABM frame and
- starting timer T1. Upon receiving a SABM frame from the DXE
- previously connected to, the receiver of a SABM frame should send
- a UA frame back at the earliest opportunity, set its send and
- receive state variables, V(S) and V(R), to zero and stop T1
- unless it has sent a SABM or DISC itself. If the UA is correctly
- received by the initial DXE, it resets its send and receive state
- variables, V(S) and V(R), and stops timer T1. Any busy condition
- that previously existed will also be cleared.
-
- If a DM response is received, the DXE will enter the
- disconnected state and stop timer T1. If timer T1 runs out
- before a UA or DM response frame is received, the SABM will be
- retransmitted and timer T1 restarted. If timer T1 runs out N2
- times, the DXE will enter the disconnected state, and any
- previously existing link conditions will be cleared.
-
- Other commands or responses received by the DXE before
- completion of the reset procedure will be discarded.
-
- 2.4.6.4
- One DXE may request that the other DXE reset the link by
- sending a DM response frame. After the DM frame is sent, the
- sending DXE will then enter the disconnected state.
-
- 2.4.7 List of System Defined Parameters
-
- 2.4.7.1 Timers
-
- To maintain the integrity of the AX.25 level 2
- connection, use of these timers is recommended.
-
- 2.4.7.1.1 Acknowledgement Timer T1
-
- The first timer, T1, is used to make sure a DXE doesn't
- wait forever for a response to a frame it sends. This timer
- cannot be expressed in absolute time, since the time required to
- send frames varies greatly with the signaling rate used at level
- 1. T1 should take at least twice the amount of time it would
- take to send maximum length frame to the other DXE, and get the
- proper response frame back from the other DXE. This would allow
- time for the other DXE to do some processing before responding.
-
- If level 2 repeaters are to be used, the value of T1
- should be adjusted according to the number of repeaters the frame
- is being transferred through.
-
- 2.4.7.1.2 Response Delay Timer T2
-
- The second timer, T2, may be implemented by the DXE to
- specify a maximum amount of delay to be introduced between the
- time an I frame is received, and the time the resulting response
- frame is sent. This delay may be introduced to allow a receiving
- DXE to wait a short period of time to determine if there is more
- than one frame being sent to it. If more frames are received,
- the DXE can acknowledge them at once (up to seven), rather than
- acknowledge each individual frame. The use of timer T2 is not
- mandatory, but is recommended to improve channel efficiency.
- Note that, on full-duplex channels, acknowledgements should not
- be delayed beyond k/2 frames to achieve maximum throughput. The
- k parameter is defined in 2.4.7.4, below.
-
- 2.4.7.1.3 Inactive Link Timer T3
-
- The third timer, T3, is used whenever T1 isn't running to
- maintain link integrity. It is recommended that whenever there
- are no outstanding unacknowledged I frames or P-bit frames
- (during the information-transfer state), a RR or RNR frame with
- the P bit set to one be sent every T3 time units to query the
- status of the other DXE. The period of T3 is locally defined,
- and depends greatly on level 1 operation. T3 should be greater
- than T1, and may be very large on channels of high integrity.
-
- 2.4.7.2 Maximum Number of Retries (N2)
-
- The maximum number of retries is used in conjunction with
- the T1 timer.
-
- 2.4.7.3 Maximum Number of Octets in an I Field (N1)
-
- The maximum number of octets allowed in the I field will
- be 256. There shall also be an integral number of octets.
-
- 2.4.7.4 Maximum Number of I Frames Outstanding (k)
-
- The maximum number of outstanding I frames at a time is
- seven.
-
- END.
-